scene.org File Archive

File download

<root>­/­mirrors­/­amigascne­/­Scrollers­/­F-Groupstext­/­G-Groupstext­/­Gunnars FarveBio/GFB-Megademo8Trailer.txt

File size:
15 260 bytes (14.90K)
File date:
2024-10-07 05:45:02
Download count:
all-time: 0

Preview

       Der KAN            forekomme           kvalmende            scener            da vi har          designet den        if|lge moden!                        



                     Til dem der har den opfattelse, at GLENZ er et uddebateret emne, m} vi desv{rre meddele, at der p} denne sk{rm faktisk 
optr{der et objekt af den n{vnte art.                  Men De kan v{re ganske rolig;  vi vil ikke fremover ridse op i den forgangende glenz problematik.        
       (Ihvertfald ikke alt for ofte....)   
                                                   



Dette her er 
en af sourcekoderne
fra
megademo 8.



*****************************************
blw:	macro
\@bw:	btst	#14,$dff002
	bne	\@bw
	endm
*****************************************
h	=	288
dsc	=	h*40
DMACONR:EQU	$002
BLTCON0:EQU	$040
BLTCON1:EQU	$042
BLTAMASK:EQU	$044
BLTCPT:	EQU	$048
BLTBPT:	EQU	$04C
BLTAPT:	EQU	$050
BLTDPT:	EQU	$054
BLTSIZE:EQU	$058
BLTCMOD:EQU	$060
BLTBMOD:EQU	$062
BLTAMOD:EQU	$064
BLTDMOD:EQU	$066
BLTCDAT:EQU	$070
BLTBDAT:EQU	$072
BLTADAT:EQU	$074
;----------------------------------------
	section	program,code_c
start:	jmp	j
*****************************************************
pic:	ds.b	30812
>extern	'hd:art/fangerneiforden',pic
*****************************************************
unifade:	;d0=farve d3=det den skal ligne
	move.w	d0,d1
	move.w	d1,d2
	move.w	d3,d4
	move.w	d4,d5

	and.w	#$f00,d0
	and.w	#$0f0,d1
	and.w	#$00f,d2
	and.w	#$f00,d3
	and.w	#$0f0,d4
	and.w	#$00f,d5

	cmp.w	d0,d3
	beq	nixr0d
	blt	nixr0d2
	add.w	#$100,d0
	bra	nixr0d
nixr0d2:sub.w	#$100,d0
nixr0d:
	cmp.w	d1,d4
	beq	nixgr0
	blt	nixgr02
	add.w	#$010,d1
	bra	nixgr0
nixgr02:sub.w	#$010,d1
nixgr0:
	cmp.w	d2,d5
	beq	nixbla
	blt	nixbla2
	add.w	#$001,d2
	bra	nixbla
nixbla2:sub.w	#$001,d2
nixbla:
	add.w	d2,d1
	add.w	d1,d0
	rts
********************************
convert:
	move.l	#pic,a0
	move.w	28(a0),d0
	lsl.w	#4,d0
	move.w	d0,bps+2
	move.w	20(a0),d0
	lsr.w	#3,d0
	cmp.w	#80,d0
	blt	nmed
	or.w	#$8000,bps+2
nmed:	move.b	5(a0),mod1+2
	move.b	5(a0),mod2+2
	move.b	6(a0),mod1+3
	move.b	6(a0),mod2+3
	sub.w	d0,mod1+2
	sub.w	d0,mod2+2
search1:cmp.l	#'CMAP',(a0)+
	bne	search1
	addq	#4,a0
	move.l	#cols+2,a1
search2:move.b	(a0)+,d1
	move.b	(a0)+,d2
	move.b	(a0)+,d3
	lsl.w	#4,d1
	lsr.w	#4,d3
	add.w	d3,d2
	add.w	d2,d1
	and.w	#$0fff,d1
	move.w	d1,(a1)
	addq	#4,a1
	move.b	(a0)+,d1
	move.b	(a0)+,d2
	move.b	(a0)+,d3
	lsl.w	#4,d1
	lsr.w	#4,d3
	add.w	d3,d2
	add.w	d2,d1
	and.w	#$0fff,d1
	move.w	d1,(a1)
	addq	#4,a1
	cmp.l	#'BODY',(a0)
	bne	search2
	addq	#8,a0
	move.l	a0,d1
	move.w	d1,pbp1+6
	swap	d1
	move.w	d1,pbp1+2
	swap	d1
	add.w	d0,d1
	move.w	d1,pbp2+6
	swap	d1
	move.w	d1,pbp2+2
	swap	d1
	add.w	d0,d1
	move.w	d1,pbp3+6
	swap	d1
	move.w	d1,pbp3+2
	swap	d1
	add.w	d0,d1
	move.w	d1,pbp4+6
	swap	d1
	move.w	d1,pbp4+2
	swap	d1
	add.w	d0,d1
	move.w	d1,pbp5+6
	swap	d1
	move.w	d1,pbp5+2
	swap	d1
	add.w	d0,d1
	move.w	d1,pbp6+6
	swap	d1
	move.w	d1,pbp6+2
	rts
********************************************
*****copperliste.....
copper:
	dc.l	$008e2880
	dc.l	$009028f0
	dc.l	$00920030
	dc.l	$009400c8
	dc.l	$01800000
	dc.l	$01020088
	dc.l	$01080000,$010a0000
	dc.l	$01800000
col:	dc.l	$01820fff
bp1:	dc.l	$00e00006,$00e20000
	dc.l	$2807fffe,$01001200
	dc.l	$ffdffffe
	dc.l	$2807fffe
	dc.l	$01000000
	DC.L	$FFFFFFFE		
********************************
cols:	dc.l	$01800000
	dc.l	$01820000
	dc.l	$01840000
	dc.l	$01860000
	dc.l	$01880000
	dc.l	$018a0000
	dc.l	$018c0000
	dc.l	$018e0000
	dc.l	$01900000
	dc.l	$01920000
	dc.l	$01940000
	dc.l	$01960000
	dc.l	$01980000
	dc.l	$019a0000
	dc.l	$019c0000
	dc.l	$019e0000
	dc.l	$01a00000
	dc.l	$01a20000
	dc.l	$01a40000
	dc.l	$01a60000
	dc.l	$01a80000
	dc.l	$01aa0000
	dc.l	$01ac0000
	dc.l	$01ae0000
	dc.l	$01b00000
	dc.l	$01b20000
	dc.l	$01b40000
	dc.l	$01b60000
	dc.l	$01b80000
	dc.l	$01ba0000
	dc.l	$01bc0000
	dc.l	$01be0000
copper2:dc.l	$008e2180
	dc.l	$009041f0
	dc.l	$00920038
	dc.l	$009400d0
	dc.l	$01000200
	dc.l	$01020000
mod1:	dc.l	$01080000
mod2:	dc.l	$010a0000
cols2:	dc.l	$01800000
	dc.l	$01820000
	dc.l	$01840000
	dc.l	$01860000
	dc.l	$01880000
	dc.l	$018a0000
	dc.l	$018c0000
	dc.l	$018e0000
	dc.l	$01900000
	dc.l	$01920000
	dc.l	$01940000
	dc.l	$01960000
	dc.l	$01980000
	dc.l	$019a0000
	dc.l	$019c0000
	dc.l	$019e0000
	dc.l	$01a00000
	dc.l	$01a20000
	dc.l	$01a40000
	dc.l	$01a60000
	dc.l	$01a80000
	dc.l	$01aa0000
	dc.l	$01ac0000
	dc.l	$01ae0000
	dc.l	$01b00000
	dc.l	$01b20000
	dc.l	$01b40000
	dc.l	$01b60000
	dc.l	$01b80000
	dc.l	$01ba0000
	dc.l	$01bc0000
	dc.l	$01be0000
pbp1:	dc.l	$00e00000,$00e20000
pbp2:	dc.l	$00e40000,$00e60000
pbp3:	dc.l	$00e80000,$00ea0000
pbp4:	dc.l	$00ec0000,$00ee0000
pbp5:	dc.l	$00f00000,$00f20000
pbp6:	dc.l	$00f40000,$00f60000
	dc.l	$2411fffe
bps:	dc.l	$01001200
	dc.l	$ffdffffe
	dc.l	$2411fffe
	dc.l	$01000200
	dc.l	-2
oldcop:	dc.l	0
scr:	blk.b	dsc+dsc,0
;----------------------------------------
ctab1:	dc.w	$000,$111,$222,$333,$444,$555,$666,$777
	dc.w	$888,$999,$aaa,$bbb,$ccc,$ddd,$eee,$fff
ctab2:	dc.w	$000,$010,$020,$030,$040,$050,$060,$070
	dc.w	$080,$090,$0a0,$0b0,$0c0,$0d0,$0e0,$0f0
;---------------------------------------
v=1
;---------------------------------------
sppoints:dc.l	000*v,0,	 000*v,0,	 0*v,0
	dc.l	$11111111
spepoints:
splines:dc.l	sppoints
	dc.l	0,0
	dc.l	$ff
;---------------------------------------
apoints:dc.l	000*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 030*v,0,	 0*v,0
	dc.l	000*v,0,	 030*v,0,	 0*v,0
	dc.l	000*v,0,	 020*v,0,	 0*v,0
	dc.l	-05*v,0,	 020*v,0,	 0*v,0
	dc.l	000*v,0,	 -10*v,0,	 0*v,0
	dc.l	010*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 030*v,0,	 0*v,0
	dc.l	$11111111
aepoints:
alines:	dc.l	apoints
	dc.l	0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,0
	dc.l	$ff
;---------------------------------------
bpoints:dc.l	-20*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -20*v,0,	 0*v,0
	dc.l	000*v,0,	 -20*v,0,	 0*v,0
	dc.l	000*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 -10*v,0,	 0*v,0
	dc.l	010*v,0,	 -10*v,0,	 0*v,0
	dc.l	010*v,0,	 -30*v,0,	 0*v,0
	dc.l	-10*v,0,	 000*v,0,	 0*v,0
	dc.l	-10*v,0,	 020*v,0,	 0*v,0
	dc.l	010*v,0,	 020*v,0,	 0*v,0
	dc.l	010*v,0,	 000*v,0,	 0*v,0
	dc.l	$11111111
bepoints:
blines:	dc.l	bpoints
	dc.l	0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,0,10,11,11,12,12,13,13,10
	dc.l	$ff
;---------------------------------------
cpoints:dc.l	-20*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 020*v,0,	 0*v,0
	dc.l	-10*v,0,	 020*v,0,	 0*v,0
	dc.l	-10*v,0,	 -10*v,0,	 0*v,0
	dc.l	$11111111
cepoints:
clines:	dc.l	cpoints
	dc.l	0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,8,8,9,9,4
	dc.l	$ff
;---------------------------------------
dpoints:dc.l	-20*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -20*v,0,	 0*v,0
	dc.l	000*v,0,	 -20*v,0,	 0*v,0
	dc.l	010*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 020*v,0,	 0*v,0
	dc.l	-10*v,0,	 020*v,0,	 0*v,0
	dc.l	-10*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 -10*v,0,	 0*v,0
	dc.l	010*v,0,	 -30*v,0,	 0*v,0
	dc.l	$11111111
depoints:
dlines:	dc.l	dpoints
	dc.l	0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,0
	dc.l	$ff
;---------------------------------------
epoints:dc.l	-20*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 020*v,0,	 0*v,0
	dc.l	-10*v,0,	 020*v,0,	 0*v,0
	dc.l	-10*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 -10*v,0,	 0*v,0
	dc.l	$11111111
eepoints:
elines:	dc.l	epoints
	dc.l	0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,4
	dc.l	$ff
;---------------------------------------
fpoints:dc.l	-20*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 030*v,0,	 0*v,0
	dc.l	-10*v,0,	 030*v,0,	 0*v,0
	dc.l	-10*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 -10*v,0,	 0*v,0
	dc.l	$11111111
fepoints:
flines:	dc.l	fpoints
	dc.l	0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,8,8,9,9,4
	dc.l	$ff
;---------------------------------------
gpoints:dc.l	-20*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 -10*v,0,	 0*v,0
	dc.l	000*v,0,	 -10*v,0,	 0*v,0
	dc.l	000*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 020*v,0,	 0*v,0
	dc.l	-10*v,0,	 020*v,0,	 0*v,0
	dc.l	-10*v,0,	 -10*v,0,	 0*v,0
	dc.l	$11111111
gepoints:
glines:	dc.l	gpoints
	dc.l	0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,4
	dc.l	$ff
;---------------------------------------
hpoints:dc.l	-20*v,0,	 -10*v,0,	 0*v,0
	dc.l	-20*v,0,	 030*v,0,	 0*v,0
	dc.l	-10*v,0,	 030*v,0,	 0*v,0
	dc.l	-10*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 000*v,0,	 0*v,0
	dc.l	010*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 030*v,0,	 0*v,0
	dc.l	020*v,0,	 -30*v,0,	 0*v,0
	dc.l	010*v,0,	 -30*v,0,	 0*v,0
	dc.l	010*v,0,	 -10*v,0,	 0*v,0
	dc.l	$11111111
hepoints:
hlines:	dc.l	hpoints
	dc.l	0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,0
	dc.l	$ff
;---------------------------------------
ipoints:dc.l	-05*v,0,	 -30*v,0,	 0*v,0
	dc.l	-05*v,0,	 030*v,0,	 0*v,0
	dc.l	005*v,0,	 030*v,0,	 0*v,0
	dc.l	005*v,0,	 -30*v,0,	 0*v,0
	dc.l	$11111111
iepoints:
ilines:	dc.l	ipoints
	dc.l	0,1,1,2,2,3,3,0
	dc.l	$ff
;---------------------------------------
jpoints:dc.l	-20*v,0,	 -30*v,0,	 0*v,0
	dc.l	-20*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -20*v,0,	 0*v,0
	dc.l	020*v,0,	 -30*v,0,	 0*v,0
	dc.l	010*v,0,	 -10*v,0,	 0*v,0
	dc.l	010



,d1
dc.l	0`1,d3
	dbra	d0,plo
	rts
**********************************
***Her er selve programmet...
**********************************
main:
	cmp.b	#$ff,$dff006
	bne.W	main
main1:	cmp.b	#$1f,$dff006
	bne.W	main1
;--------------------------------------------------------
	move.l	scradr,d0
	move.w	d0,bp1+6
	swap	d0
	move.w	d0,bp1+2

	add.l	#dsc,scradr
	cmp.l	#scr+dsc+dsc,scradr
	bne	wscr
	move.l	#scr,scradr
wscr:
;--------------------------------------------------------
	blw
	move.l	#$01000000,$dff040
	move.w	#0,$dff066
	move.l	scradr,$dff054
	move.w	#[h*64]+20,$dff058
;--------------------------------------------------------

	move.l	z,d0
	cmp.l	#ctab2,hct
	bne	nneg
	neg.l	d0
	add.l	#1023,d0
nneg:
	move.l	d0,z2
	neg.l	d0
	add.l	#1023,d0
	lsr.l	#6,d0
	add.l	d0,d0
	move.l	hct,a0
	move.w	(a0,d0.w),col+2


	move.l	#buf,a2
	move.l	#prex1,a3	;precalc x1
	move.l	#prex2,a4	;precalc x2
	move.l	#OCTANTS,A5
	move.l	#prey,a6	;precalc y

	move.l	#-175,d7
loop1:	move.l	tc,a0
	clr.l	d0
	move.b	(a0),d0
	sub.b	#64,d0
	add.l	d0,d0
	add.l	d0,d0
	move.l	#bogs,a0
	add.l	d0,a0
	move.l	(a0),a0
	move.l	(a0),a1
loop2:	move.l	00(a1),d0
	move.l	08(a1),d1
	add.l	d7,d0
	lsl.l	#7,d0
	lsl.l	#7,d1
	divs	z2+2,d0
	divs	z2+2,d1
	ext.l	d0
	ext.l	d1
	add.l	#160,d0
	add.l	#128,d1
	cmp.l	#319,d0
	ble	aj1
	move.l	#319,d0
aj1:	cmp.l	#255,d1
	ble	aj2
	move.l	#255,d1
aj2:	cmp.l	#0,d0
	bge	aj3
	move.l	#0,d0
aj3:	cmp.l	#0,d1
	bge	aj4
	move.l	#0,d1
aj4:	move.l	d0,04(a1)
	move.l	d1,12(a1)
	add.l	#24,a1
	cmp.l	#$11111111,(a1)
	bne	loop2
	move.l	(a0),a1
	addq	#4,a0

loop3:	move.l	00(a0),d5
	move.l	04(a0),d6
	move.l	d5,d0
	lsl.l	#4,d5
	lsl.l	#3,d0
	add.l	d0,d5
	move.l	d6,d0
	lsl.l	#4,d6
	lsl.l	#3,d0
	add.l	d0,d6
	move.l	04(a1,d5.w),d0
	move.l	12(a1,d5.w),d1
	move.l	04(a1,d6.w),d2
	move.l	12(a1,d6.w),d3
	bsr	line
	add.l	#8,a0
	cmp.l	#$ff,(a0)
	bne	loop3

	add.l	#1,tc
	add.l	#50,d7
	cmp.l	#-175+400,d7
	bne	loop1
	sub.l	#8,tc


	sub.l	#8,z

	cmp.l	#0,z
	bne	wtc
	move.l	#1024,z
	add.l	#8,tc
	cmp.l	#gr1,tc
	bne	setgr1
	move.l	#ctab2,hct
setgr1:
	cmp.l	#txe,tc
	bne	wtc
	move.l	#tx,tc
	move.l	#ctab1,hct
	bra	uj
wtc:

	move.l	#$11111111,(a2)+
;--------------------------------------------------------
	move.l	#$dff000,a1
	blw
	MOVE.W	#40,BLTCMOD(a1)
	MOVE.W	#40,BLTDMOD(a1)
	MOVE.L	#$FFFFFFFF,BLTAMASK(a1)	;SET MASK
	MOVE.L	#$FFFF8000,BLTBDAT(a1)	;AND BLTADAT
	move.l	#buf,a0
l:	cmp.l	#$11111111,(a0)
	beq	nol
	MOVE.W	(a0)+,BLTBMOD(a1)
	MOVE.W	(a0)+,BLTAPT+2(a1)
	MOVE.W	(a0)+,BLTCON1(a1)
	MOVE.W	(a0)+,BLTAMOD(a1)
	move.w	(a0)+,BLTCON0(a1)
	move.l	(a0),bltcpt(a1)
	move.l	(a0)+,bltdpt(a1)
	MOVE.W	(a0)+,BLTSIZE(a1)
	blw
	bra	l
nol:


	blw
	move.l	#$09f0001a,$dff040
	move.w	#0,$dff064
	move.w	#0,$dff066
	move.l	scradr,d0
	add.l	#40*[h-1]+38,d0
	move.l	d0,$dff050
	move.l	d0,$dff054
	move.w	#[h*64]+20,$dff058
	blw

;--------------------------------------------------------
;	move.w	#$00f,$dff180	;Check raster-tid
	btst	#6,$bfe001
	bne.W	main
uj:	rts
*************************************
bogs:	dc.l	splines
	dc.l	alines,blines,clines,dlines,elines,flines,glines
	dc.l	hlines,ilines,jlines,klines,llines,mlines,nlines
	dc.l	olines,plines,qlines,rlines,slines,tlines,ulines
	dc.l	vlines,wlines,xlines,ylines,zlines
tx:	dc.b	'WELCOME@'
	dc.b	'@@@TO@@@'
	dc.b	'@GFB@TM@'
	dc.b	'MEGADEMO'
gr1:	dc.b	'@@VIII@@'
txe:
tc:	dc.l	tx
z:	dc.l	1024
z2:	dc.l	1024
hct:	dc.l	ctab1
;----------------------------------------
OCTANTS:DC.W 4*4+$1003,0*4+$1003,6*4+$1003,1*4+$1003
	DC.W 5*4+$1003,2*4+$1003,7*4+$1003,3*4+$1003
prex1:	ds.w	512
prex2:	ds.w	512
prey:	ds.w	512
scradr:		dc.l	scr
buf:	blk.b	16384,0
;----------------------------------------------------------





 Credit for demoen:                                         68020      MZ 1453         Messerschmidt                    Grafik       J. Hash                    Popmusik  Daddy Kool                                         Den egentlige       hensigt med denne                    tm  Gunnars Farvebio       Megademo 8           trailer                               er f|lgende:                        At reklamere for vorkommende                                Megademo 8:                             "Fangerne i Forden"                     Kopier den n}r den  kommer!!                                                                                                                                                                                                 



       Er til              Deres                helt                store            irritation             med               f|lgende            produkt:              otte                syv                 seks                fem                 fire                tre                  to                  en                 SLUT